admin: Rework /ostree/deploy to support multiple independent operating systems
authorColin Walters <walters@verbum.org>
Wed, 19 Dec 2012 22:52:46 +0000 (17:52 -0500)
committerColin Walters <walters@verbum.org>
Fri, 21 Dec 2012 18:47:15 +0000 (13:47 -0500)
commit3832544ac40b5bbfcee3621cc5ab096ac64e578d
treed951a4240dda9cf8f2ee1df3d515546dc1768096
parent16d312e82f08f27bfa4d4f3dd4b0404ceab731de
admin: Rework /ostree/deploy to support multiple independent operating systems

The real vision of OSTree is to "multiple versions of multiple
operating systems".  Up until now, it's worked to install gnome-ostree
inside a host distribution, but several things don't work quite right
if you try to do completely different systems.

In the new model, there's the concept of an "osname" which encompasses
a few properties:

1) Its own /var
2) A set of trees deployed in /ostree/deploy/OSNAME/
3) Its own "current" and "previous" links.

Now it no longer really makes sense to boot with "ostree=current".
Instead, you specify e.g. "ostree=gnome/current".

This is an incompatible change to the deployment code - you will need
to run init-os gnome and redeploy.

All "ostree admin" subcommands now take an OSNAME argument.
17 files changed:
Makefile-ostree.am
src/ostree/ostree-curl-fetcher.c [new file with mode: 0644]
src/ostree/ostree-curl-fetcher.h [new file with mode: 0644]
src/ostree/ot-admin-builtin-deploy.c
src/ostree/ot-admin-builtin-diff.c
src/ostree/ot-admin-builtin-init.c [deleted file]
src/ostree/ot-admin-builtin-install.c [new file with mode: 0644]
src/ostree/ot-admin-builtin-os-init.c [new file with mode: 0644]
src/ostree/ot-admin-builtin-prune.c
src/ostree/ot-admin-builtin-pull-deploy.c
src/ostree/ot-admin-builtin-update-kernel.c
src/ostree/ot-admin-builtin-upgrade.c [new file with mode: 0644]
src/ostree/ot-admin-builtins.h
src/ostree/ot-admin-functions.c
src/ostree/ot-admin-functions.h
src/ostree/ot-builtin-admin.c
src/switchroot/ostree-switch-root.c